﻿using System.Windows.Controls;
using System.Windows.Media.Imaging;

namespace Levfier.GUI.EditorControls.Measuring
{
    /// <summary>
    /// イメージを生成する
    /// </summary>
    public interface IBitmapDrawable
    {
        /// <summary>
        /// ビットマップを生成する
        /// </summary>
        /// <returns>ビットマップ</returns>
        RenderTargetBitmap CreateBitmap();

        /// <summary>
        /// ビットマップを更新する
        /// </summary>
        /// <returns>true：成功</returns>
        bool Update(int freqMode, int powerMode);

        /// <summary>
        /// ビットマップを拡大する
        /// </summary>
        /// <param name="p">変化量</param>
        /// <param name="x">変化の基点</param>
        void Zoom(int p, int x);

        /// <summary>
        /// ビットマップを移動する
        /// </summary>
        /// <param name="distance">移動量</param>
        void Move(int distance);
    }
}
